package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        System.out.println("数组:"+ Arrays.toString(array));
        /*
            使用Arrays的asList方法可以将数组转换为一个List集合。
            之所以不能转换为其他类型集合比如Set，是因为Set集合不能存放重复元素。
         */
        List<String> list = Arrays.asList(array);
        System.out.println("List:"+list);
        /*
            从数组转换而来的List集合是不能增删元素的，会抛出异常:
            java.lang.UnsupportedOperationException
                      不支持      操作      异常
         */
//        list.add("six");//报错
//        System.out.println("List:"+list);
        /*
            若希望对集合进行增删操作，则需要自行创建一个集合，并将数组转换而来的集合
            元素导入后方可操作
         */
//        List<String> list2 = new ArrayList<>();
//        list2.addAll(list);
        /*
            所有集合都提供了一个参数为Collection的构造器，目的是在创建当前集合的
            同时包含给定集合中的所有元素。
         */
        List<String> list2 = new ArrayList<>(list);
        System.out.println("list2:"+list2);
        list2.add("six");
        System.out.println("list2:"+list2);
    }
}







